const path = require('path');
const cors = require('cors');
const express = require('express');
const app = express();
app.use(express.json());
app.use(express.static(path.resolve(__dirname,'./demo')));
app.use(cors());
//存放数据
//{id : xxx,context : xxx,addTime : xxx,upNum : 0,downNum : 0}
const dataList = [
    {
    id: 'ioj72s61761794849887',
    context: 'sxx',
    addTime: '2025.10.30',
    upNum: 0,
    downNum: 0
},
    {
        id: 'ioj72s6176179484757',
        context: 'xtd',
        addTime: '2025.10.30',
        upNum: 0,
        downNum: 0
    },
    {
        id: 'ioj72s61761794867887',
        context: 'dcl',
        addTime: '2025.10.30',
        upNum: 0,
        downNum: 0
    },
    {
        id: 'ioj72s61761794849007',
        context: 'sx',
        addTime: '2025.10.30',
        upNum: 0,
        downNum: 0
    },
    {
        id: 'ioj72s617617948498000',
        context: 'sxxxxx',
        addTime: '2025.10.30',
        upNum: 0,
        downNum: 0
    }
];

//获取信息接口
app.get('/getData',(req, res)=>{
    const {pageNow,pageSize} = req.query;

    const data = dataList.slice((pageNow-1)*pageSize,((pageNow-1)*pageSize+pageSize));

    res.json({
        code: 1,
        data,
        msg : '获取数据成功'
    })
})

//添加数据接口
app.post('/addData',(req, res)=>{
    const {context,addTime} = req.body;
    if(dataList.some(data=>{return data.context === context})){
        res.json({
            code : -1,
            msg : '数据添加失败 , 请勿添加重复性内容'
        })
    }else {
        const data = {
            id : Math.random().toString(36).slice(2,9) + Date.now(),
            context,
            addTime,
            upNum : 0,
            downNum : 0
        };
        dataList.push(data);
        res.json({
            code : 1,
            data,
            msg : '数据添加成功',
        })
    }
})

//修改数据接口
app.patch('/changContext',(req, res)=>{
    const {id,context} = req.body;
    if(dataList.some(data=>{return data.context === context})){
        res.json({
            code : -1,
            msg : '数据修改失败 , 存在重复性内容'
        })
    }else {
        let data;
        dataList.forEach(item=>{
            if(item[id] === id){
                data = item;
                item.context = context;
            }
        })
        if(data){
            res.json({
                code : -1,
                msg : '数据修改失败 , 当前内容不存在'
            })
        }
        res.json({
            code: 1,
            data ,
            msg : '修改成功'
        })
    }
})
app.patch('/changUpNum',(req, res)=>{
    const {id,upNum} = req.body;
    let data;
    dataList.forEach(item=>{
        if(item[id] === id){
            data = item;
            item.upNum = upNum;
        }
    })
    if(data){
        res.json({
            code : -1,
            msg : '数据修改失败 , 当前内容不存在'
        })
    }
    res.json({
        code: 1,
        data,
        msg : '修改成功'
    })

})
app.patch('/changDownNum',(req, res)=>{
    const {id,downNum} = req.body;
    let data;
    dataList.forEach(item=>{
        if(item[id] === id){
            data = item;
            item.downNum = downNum;
        }
    })
    if(data){
        res.json({
            code : -1,
            msg : '数据修改失败 , 当前内容不存在'
        })
    }
    res.json({
        code: 1,
        data,
        msg : '修改成功'
        })

})
//删除数据接口
app.delete('deleteData',(req, res)=>{
    const {id} = req.body;
    if(!dataList.some(data=>{return data.id === id})){
        res.json({
            code : -1,
            msg : '当前数据不存在'
        })
    }else {
        dataList.forEach((item,index)=>{
            if(item.id === id){
                dataList[index] = null;
            }
        })

    }
})



app.listen(3030,()=>{
    console.log('success!!!!!');
})